#ifndef READER_H
#define READER_H

#include "..\mesinkata\mesinkata.h"

// ADT ini membaca perintah dari user
// misalnya jika input berupa gabungan dari string : kakak pergi "ke pesta ultah" adik #
// maka isi Reader :
//	argument[0] = kakak
// 	argument[1] = pergi
//	argument[2] = ke pesta ultah
//	argument[3] = adik
//	nArgument = 4

#define MaxArg 50

typedef struct {
	string argument[MaxArg];
	int nArgument;
} Reader;
//TIPE reader: menyimpan perintah dan argumen - argumen

Reader CReader; // current reader, analogi dengan CC dan CString

void createEmptyReader(Reader *R);
/**
 * membuat Reader kosong, harus dipanggil setiap membuat reader baru
 * */
 
void ReadArguments(FILE *f);
/**
 * mengakuisisi input dari user(jika f=NULL) atau file (jika f!=NULL)
 * */
 
void DeleteArguments(Reader *R, int idxFrom, int length);
 
string ArgumentsToString(Reader R);

#endif
